package practica1;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.Timer;



public class Dispositivo {
	
	private String buffer;
	private String estado="Libre";
	private int velocidad;
	Memoria memoria=new Memoria();
	
	//Creamos la instancia del manejador de estrategia.
	
	Comunicacion comunicacion;
	
	//Permitimos cambiar el tipo de comunicacion en tiempo de ejecucion.
	
	public void setComunicacion(Comunicacion com){
		comunicacion=com;
	}
	
	
	
	
	
	//Creo los metodos necesarios para madnar los datos por donde sea!
	
	public void enviarDatos(){
		
		
		comunicacion.enviar();
		
		
		
		
	}
	
	

	
	public void serVelocidad(int velocidad){
		
		this.velocidad=velocidad;
	}
	
	public int getVelocidad(){
		return this.velocidad;
	}
	
	public void setEstado(String estado){
		this.estado=estado;
		
	}
	
	public String getEstado(){
		return this.estado;
	}
	
	public void escribirMemoria(String dato){
		this.buffer=dato;
		//Aca hay que controlar el tiempo para la escritura.
		this.setEstado("Ocupado");
		memoria.escribir(this.buffer);
		this.vaciarBuffer();
		this.setEstado("Libre");
		
	}
	
	public String leerMemoria (int indice){
		String dato;
		dato=memoria.leer(indice);
		return dato;
		
	}
	
	public void vaciarBuffer(){
		this.buffer="";
	}
	
	

}
